home *** CD-ROM | disk | FTP | other *** search
- 1000 '==========================================================='
- 1010 ' FileSelecter -12DotFontVersion- by K.T '
- 1020 '==========================================================='
- 1030 CLEAR ,,512,500000,,1500000
- 1040 DEFINT A-Z : DEF FONT "システム 12ドット"
- 1050 SCREEN@0:SCREEN 1,0,3,0:SCREEN@0:COLOR 2,0:CLS:PALETTE
- 1060 WINDOW(0,0)-(1023,511) : VIEW(0,0)-(1023,511)
- 1070 DIM OBJ1(5),OBJ2(5),OBJ3(5),OBJ4(5)
- 1080 DIM EGB(7775*2),FS&(1),TN$(3),OBJ(7775*2),MEM(75)
- 1090 DIM DAT$(9999),BUF(0),TXT$(9999)
- 1100 MOUSE 0 : MOUSE 4,0,0,1023,511:'OUT &H440,27:OUT&H442,&H11
- 1110 ON ERROR GOTO *ERROR
- 1120 '
- 1130 FX=0:FY=0:MAX=640:MAY=480:SC_SW=15:光=7:面=14:影=SC_SW-光
- 1140 TX=140:TY=10:TBAN=0
- 1150 FOR I=0 TO 5:READ DAT$:OBJ1(I)=VAL("&H"+DAT$)-&H8000:NEXT
- 1160 FOR I=0 TO 5:READ DAT$:OBJ2(I)=VAL("&H"+DAT$)-&H8000:NEXT
- 1170 FOR I=0 TO 5:READ DAT$:OBJ3(I)=VAL("&H"+DAT$)-&H8000:NEXT
- 1180 FOR I=0 TO 5:READ DAT$:OBJ4(I)=VAL("&H"+DAT$)-&H8000:NEXT
- 1190 FOR I=0 TO 3:READ DAT$:TN$(I)=DAT$:NEXT
- 1200 GOSUB *SET_PAL
- 1210 DRIVE=INP(&H3B30)
- 1220 '
- 1230 WHILE -1
- 1240 GET@A(FX,FY)-(FX+142,FY+215),OBJ
- 1250 FILE_NAME$="" : GOSUB *FILESEL
- 1260 PUT@A(FX,FY)-(FX+142,FY+215),OBJ
- 1270 IF FILE_NAME$="" AND TFLG=0 THEN END
- 1280 IF MID$(FILE_NAME$,10,3)="TIF" THEN GOSUB *TIF_LOAD
- 1290 IF MID$(FILE_NAME$,10,3)="JPG" THEN GOSUB *JPG_LOAD
- 1300 IF MID$(FILE_NAME$,10,3)="EUP" THEN GOSUB *EUP_LOAD
- 1310 IF MID$(FILE_NAME$,10,3)="FMB" THEN GOSUB *MUS_LOAD
- 1320 IF MID$(FILE_NAME$,10,3)="PMB" THEN GOSUB *MUS_LOAD
- 1330 IF MID$(FILE_NAME$,10,3)="SND" THEN GOSUB *SND_LOAD
- 1340 IF MID$(FILE_NAME$,10,3)="MVE" THEN GOSUB *MVE_LOAD
- 1350 IF MID$(FILE_NAME$,10,3)="MMM" AND TFLG=0 THEN GOSUB *MMM_LOAD
- 1360 IF TFLG=1 THEN GOTO 1450
- 1370 IF MID$(FILE_NAME$,10,3)="TXT" THEN GOSUB *TXT_LOAD
- 1380 IF MID$(FILE_NAME$,10,3)="GGG" THEN GOSUB *TXT_LOAD
- 1390 IF MID$(FILE_NAME$,10,3)="DOC" THEN GOSUB *TXT_LOAD
- 1400 IF MID$(FILE_NAME$,10,3)="MML" THEN GOSUB *TXT_LOAD
- 1410 IF MID$(FILE_NAME$,10,3)="MAN" THEN GOSUB *TXT_LOAD
- 1420 IF MID$(FILE_NAME$,10,3)="BAT" THEN GOSUB *TXT_LOAD
- 1430 IF MID$(FILE_NAME$,10,3)="CFG" THEN GOSUB *TXT_LOAD
- 1440 '
- 1450 影=SC_SW-光
- 1460 IF TFLG=1 THEN RETURN
- 1470 WEND
- 1480 '
- 1490 *TIF_LOAD
- 1500 IF SC_SW=255 THEN SCREEN@0
- 1510 SCREEN 1,1,3,0:SW=0
- 1520 LOAD@FILE_NAME$,MEM
- 1530 IF MEM(75)=15 THEN
- 1540 SCREEN@0:SC_SW=15:SW=1
- 1550 WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
- 1560 ENDIF
- 1570 IF MEM(75)=255 AND TFLG=0 THEN
- 1580 SCREEN 0:SC_SW=255:SW=1:SCREEN@2
- 1590 WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
- 1600 ENDIF
- 1610 IF MEM(75)=32767 THEN
- 1620 SCREEN@1:SC_SW=15:SW=1
- 1630 WINDOW(0,0)-(511,255):VIEW(0,0)-(511,255)
- 1640 ENDIF
- 1650 IF SW<>0 THEN LOAD@FILE_NAME$
- 1660 IF SC_SW<>255 THEN SCREEN 1,0,3,0
- 1670 RETURN
- 1680 '
- 1690 *JPG_LOAD
- 1700 IF SC_SW=255 THEN SCREEN@0
- 1710 SCREEN 1,1,3,0:SCREEN@1
- 1720 WINDOW(0,0)-(511,255):VIEW(0,0)-(511,255)
- 1730 LOAD@FILE_NAME$
- 1740 SCREEN 1,0,3,0:SCREEN@0:SC_SW=15
- 1750 RETURN
- 1760 '
- 1770 *EUP_LOAD
- 1780 FILES FILE_NAME$,N,DAT$
- 1790 SIZ&=VAL(MID$(DAT$(1),13,14))
- 1800 ERASE BUF:DIM BUF(SIZ&\2)
- 1810 LOAD@FILE_NAME$,BUF
- 1820 PLAY OFF:PLAY@BUF
- 1830 RETURN
- 1840 '
- 1850 *MUS_LOAD
- 1860 LOAD@FILE_NAME$
- 1870 RETURN
- 1880 '
- 1890 *SND_LOAD
- 1900 FILES FILE_NAME$,N,DAT$
- 1910 SIZ&=VAL(MID$(DAT$(1),13,14))
- 1920 ERASE BUF:DIM BUF(SIZ&\2)
- 1930 LOAD@FILE_NAME$,BUF
- 1940 PCMPLAY BUF,127
- 1950 RETURN
- 1960 '
- 1970 *MVE_LOAD
- 1980 IF SC_SW=255 THEN SCREEN@0
- 1990 SCREEN 1,1,3,0:SCREEN@1
- 2000 WINDOW(0,0)-(511,255):VIEW(0,0)-(511,255)
- 2010 PLAY OFF
- 2020 MOVIE OPEN FILE_NAME$
- 2030 'DEF MOVIE 2,0
- 2040 MOVIE PLAY
- 2050 MOVIE CLOSE
- 2060 SCREEN 1,0,3,0:SCREEN@0:SC_SW=15
- 2070 RETURN
- 2080 '
- 2090 *MMM_LOAD
- 2100 SCREEN 0:SC_SW=255:SCREEN@2
- 2110 WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
- 2120 PLAY OFF
- 2130 MOVIE OPEN FILE_NAME$
- 2140 MOVIE PLAY
- 2150 MOVIE CLOSE
- 2160 RETURN
- 2170 '
- 2180 *TXT_LOAD
- 2190 IF SC_SW=255 THEN SCREEN@0
- 2200 SCREEN 1,0,3,0:SCREEN@0:SC_SW=15:影=SC_SW-光
- 2210 OPEN "I",#1,FILE_NAME$
- 2220 FOR I=0 TO 9999:MAX_I=I
- 2230 INPUT #1,TXT$(I)
- 2240 NEXT
- 2250 CLOSE #1
- 2260 GOSUB *TXT_MAKE
- 2270 MOUSE 1,,,1:K$=""
- 2280 WHILE K$<>CHR$(&H1B)
- 2290 K$=INKEY$
- 2300 X=MOUSE(0):Y=MOUSE(1)
- 2310 XX=X:YY=Y:SX=1:SY=1:GOSUB *SCREEN_MOVE
- 2320 IF MOUSE(2,1)<0 THEN TFLG=1:GOSUB 1240
- 2330 IF K$=CHR$(&H1E) THEN TBAN=TBAN-35:GOSUB *TXT_MOVE
- 2340 IF K$=CHR$(&H1F) THEN TBAN=TBAN+35:GOSUB *TXT_MOVE
- 2350 WEND
- 2360 CLS:TFLG=0:MOUSE 1,,,0
- 2370 RETURN
- 2380 '
- 2390 *TXT_MOVE
- 2400 IF TBAN<0 THEN BEEP:TBAN=TBAN+35:RETURN
- 2410 IF TBAN>=MAX_I THEN BEEP:TBAN=TBAN-35:RETURN
- 2420 LINE(TX+1 ,TY+16)-(TX+6*80+1 ,TY+12*35+17),PSET,%光,BF
- 2430 IF TBAN+34>MAX_I THEN K=MAX_I MOD 35 ELSE K=34
- 2440 FOR I=0 TO K
- 2450 SYMBOL(TX+2,I*12+TY+17),TXT$(TBAN+I),3/4,3/4,%影
- 2460 NEXT
- 2470 GOSUB *TXT_BAR
- 2480 RETURN
- 2490 '
- 2500 *FILESEL
- 2510 GOSUB *FILESEL_W
- 2520 END_FLG=0:MOUSE 1,,,1
- 2530 WHILE END_FLG=0
- 2540 PUSH=0
- 2550 WHILE PUSH=0
- 2560 PUSH=MOUSE(2,0)
- 2570 IF MOUSE(2,1)<0 THEN GOSUB *SET_PAL
- 2580 X=MOUSE(0):Y=MOUSE(1)
- 2590 XX=X:YY=Y:SX=1:SY=1:GOSUB *SCREEN_MOVE
- 2600 WEND
- 2610 X=X-FX : Y=Y-FY
- 2620 IF X> 3 AND Y> 16 AND X< 13 AND Y< 36 THEN GOSUB *LEFT_DR '
- 2630 IF X> 13 AND Y> 17 AND X< 32 AND Y< 35 THEN GOSUB *SET_DR '
- 2640 IF X> 32 AND Y> 16 AND X< 42 AND Y< 36 THEN GOSUB *RIGHT_DR '
- 2650 IF X> 2 AND Y> 36 AND X<121 AND Y<197 THEN GOSUB *GET_FILE '
- 2660 IF X>125 AND Y> 36 AND X<141 AND Y< 46 THEN GOSUB *UP_VER '
- 2670 IF X>127 AND Y> 49 AND X<139 AND Y<183 THEN GOSUB *VER_MOVE '
- 2680 IF X>125 AND Y>186 AND X<141 AND Y<197 THEN GOSUB *DOWN_VER '
- 2690 IF X> 79 AND Y>199 AND X<110 AND Y<214 THEN GOSUB *FILE_RUN '
- 2700 IF X>110 AND Y>199 AND X<141 AND Y<214 THEN GOSUB *FILE_CAN
- 2710 IF X>= 0 AND Y>= 0 AND X<143 AND Y< 15 THEN GOSUB *F_MOVE
- 2720 *END
- 2730 WEND
- 2740 MOUSE 1,,,0
- 2750 RETURN
- 2760 '
- 2770 *F_MOVE
- 2780 LINE(FX,FY+14)-(FX+142,FY+14),PSET,%面,B
- 2790 MOUSE 4,X,Y,1023-142+X,511-215+Y
- 2800 GET@A(FX,FY)-(FX+142,FY+215),EGB
- 2810 LINE(FX-1,FY-1)-STEP(144,217),XOR,,B
- 2820 XZ=FX:YZ=FY
- 2830 WHILE PUSH=-1
- 2840 HX=XZ : HY=YZ
- 2850 WHILE XZ=HX AND YZ=HY AND PUSH=-1
- 2860 XZ=MOUSE(0)-X
- 2870 YZ=MOUSE(1)-Y
- 2880 PUSH=MOUSE(2,0)
- 2890 WEND
- 2900 LINE(HX-1,HY-1)-STEP(144,217),XOR,,B
- 2910 LINE(XZ-1,YZ-1)-STEP(144,217),XOR,,B
- 2920 XX=XZ:YY=YZ:SX=143:SY=216:GOSUB *SCREEN_MOVE
- 2930 WEND
- 2940 LINE(XZ-1,YZ-1)-STEP(144,217),XOR,,B
- 2950 PUT@A(FX,FY)-(FX+142,FY+215),OBJ
- 2960 FX=XZ : FY=YZ
- 2970 GET@A(FX,FY)-(FX+142,FY+215),OBJ
- 2980 PUT@A(FX,FY)-(FX+142,FY+215),EGB
- 2990 MOUSE 4,0,0,1023,511
- 3000 LINE(FX,FY+14)-(FX+142,FY+14),PSET,%影,B
- 3010 RETURN
- 3020 '
- 3030 *LEFT_DR
- 3040 LINE(FX+4,FY+17)-STEP(8,18),XOR,,B
- 3050 WHILE MOUSE(2,0):WEND
- 3060 LINE(FX+4,FY+17)-STEP(8,18),XOR,,B
- 3070 SW=-1 : DRIVE=DRIVE+SW
- 3080 IF DRIVE=64 THEN DRIVE=81
- 3090 R_SW=0:GOSUB *DRIVE_W
- 3100 RETURN *END
- 3110 '
- 3120 *SET_DR
- 3130 LINE(FX+14,FY+18)-STEP(17,16),XOR,,B
- 3140 WHILE MOUSE(2,0):WEND
- 3150 LINE(FX+14,FY+18)-STEP(17,16),XOR,,B
- 3160 FBAN=0:R_SW=1:GOSUB *FILE_W
- 3170 RETURN *END
- 3180 '
- 3190 *RIGHT_DR
- 3200 LINE(FX+33,FY+17)-STEP(8,18),XOR,,B
- 3210 WHILE MOUSE(2,0):WEND
- 3220 LINE(FX+33,FY+17)-STEP(8,18),XOR,,B
- 3230 SW=1 : DRIVE=DRIVE+SW
- 3240 IF DRIVE=82 THEN DRIVE=65
- 3250 R_SW=0:GOSUB *DRIVE_W
- 3260 RETURN *END
- 3270 '
- 3280 *GET_FILE
- 3290 IF FS&(1)=0 OR R_SW=0 THEN RETURN *END
- 3300 BAN=(Y-37)\16
- 3310 IF FS&(1)<BAN+1 THEN RETURN *END
- 3320 LINE(FX+3,FY+37+BAN*16)-STEP(120,15),XOR,,B
- 3330 WHILE MOUSE(2,0):WEND
- 3340 LINE(FX+3,FY+37+BAN*16)-STEP(120,15),XOR,,B
- 3350 IF MID$(DAT$(BAN+FBAN),13,3)="DIR" THEN *DIR_CHANGE ELSE *FILE_SET
- 3360 RETURN *END
- 3370 '
- 3380 *DIR_CHANGE
- 3390 DR$=MID$(DAT$(BAN+FBAN),1,8)
- 3400 FOR I=8 TO 2 STEP -1
- 3410 IF MID$(DR$,I,1)=" " THEN DR$=MID$(DR$,1,I-1) ELSE I=2
- 3420 NEXT
- 3430 SHELL "CD "+DR$
- 3440 FBAN=0:GOSUB *FILE_W
- 3450 RETURN *END
- 3460 '
- 3470 *FILE_SET
- 3480 IF FILE_NAME$=MID$(DAT$(BAN+FBAN),1,12) THEN END_FLG=1
- 3490 FILE_NAME$=MID$(DAT$(BAN+FBAN),1,12)
- 3500 LINE(FX+4,FY+199)-STEP(72,13),PSET,%面,BF
- 3510 SYMBOL(FX+5,FY+200),FILE_NAME$,3/4,3/4,%光
- 3520 RETURN *END
- 3530 '
- 3540 *UP_VER
- 3550 IF FBAN=0 OR R_SW=0 THEN RETURN *END
- 3560 LINE(FX+126,FY+37)-STEP(14,9),XOR,,B
- 3570 GET@A(FX+2,FY+37)-(FX+121,FY+180),EGB
- 3580 PUT@A(FX+2,FY+53)-(FX+121,FY+196),EGB
- 3590 LINE(FX+4,FY+38)-STEP(118,13),PSET,%面,BF
- 3600 SYMBOL(FX+11,FY+39),DAT$(FBAN-1),3/4,3/4,%影
- 3610 SYMBOL(FX+10,FY+39),DAT$(FBAN-1),3/4,3/4,%光
- 3620 FBAN=FBAN-1 : GOSUB *VER_W
- 3630 LINE(FX+126,FY+37)-STEP(14,9),XOR,,B
- 3640 RETURN *END
- 3650 '
- 3660 *DOWN_VER
- 3670 IF FBAN+11>FS&(1) OR R_SW=0 THEN RETURN *END
- 3680 LINE(FX+126,FY+187)-STEP(14,9),XOR,,B
- 3690 GET@A(FX+2,FY+53)-(FX+121,FY+196),EGB
- 3700 PUT@A(FX+2,FY+37)-(FX+121,FY+180),EGB
- 3710 LINE(FX+4,FY+182)-STEP(118,13),PSET,%面,BF
- 3720 SYMBOL(FX+11,FY+183),DAT$(FBAN+10),3/4,3/4,%影
- 3730 SYMBOL(FX+10,FY+183),DAT$(FBAN+10),3/4,3/4,%光
- 3740 FBAN=FBAN+1 : GOSUB *VER_W
- 3750 LINE(FX+126,FY+187)-STEP(14,9),XOR,,B
- 3760 RETURN *END
- 3770 '
- 3780 *VER_MOVE
- 3790 IF RBAN+11>FS&(1) OR R_SW=0 THEN RETURN *END
- 3800 Y=Y-50 : FBAN=Y*(FS&(1)-9)\133
- 3810 GOSUB *FILE_PUT
- 3820 GOSUB *VER_W
- 3830 RETURN *END
- 3840 '
- 3850 *FILE_RUN
- 3860 IF R_SW=0 THEN RETURN *END
- 3870 LINE(FX+80,FY+200)-STEP(29,13),XOR,,B
- 3880 END_FLG=1 : WHILE MOUSE(2,0):WEND
- 3890 LINE(FX+80,FY+200)-STEP(29,13),XOR,,B
- 3900 RETURN *END
- 3910 '
- 3920 *FILE_CAN
- 3930 IF R_SW=0 THEN RETURN *END
- 3940 LINE(FX+111,FY+200)-STEP(29,13),XOR,,B
- 3950 FILE_NAME$="":END_FLG=1:WHILE MOUSE(2,0):WEND
- 3960 LINE(FX+111,FY+200)-STEP(29,13),XOR,,B
- 3970 RETURN *END
- 3980 '
- 3990 *LINE_BOX
- 4000 LINE(FX+XX ,FY+YY )-STEP(SX ,SY ),PSET,%光,B
- 4010 LINE(FX+XX+1,FY+YY+1)-STEP(SX-1,SY-1),PSET,%影,B
- 4020 LINE(FX+XX+1,FY+YY+1)-STEP(SX-2,SY-2),PSET,%面,BF
- 4030 RETURN
- 4040 '
- 4050 *DRIVE_W
- 4060 FILE_NAME$=""
- 4070 LINE(FX+4,FY+199)-STEP(72,13),PSET,%面,BF '選択ファイルの消去
- 4080 SHELL CHR$(DRIVE)+":"
- 4090 LINE(FX+15,FY+20)-STEP(15,13),PSET,%面,BF '選択ドライブの消去
- 4100 SYMBOL(FX+18,FY+21),AKCNV$(CHR$(DRIVE)),3/4,3/4,%光 'ドライブの表示
- 4110 FR$=STR$(DSKF(DRIVE-65))
- 4120 LINE(FX+77,FY+20)-STEP(48,12),PSET,%面,BF '残り容量
- 4130 SYMBOL(FX+70,FY+21),SPACE$(9-LEN(FR$))+FR$,3/4,3/4,%光
- 4140 FOR I=0 TO 9
- 4150 LINE(FX+4,FY+38+I*16)-STEP(113,13),PSET,%面,BF
- 4160 NEXT
- 4170 IF R_SW=1 THEN GOSUB *FILE_W
- 4180 RETURN
- 4190 '
- 4200 *FILE_W
- 4210 IF FR$="Error" THEN GOTO 4260
- 4220 FILES CHR$(DRIVE)+":",C,FS&
- 4230 'ERASE DAT$ : DIM DAT$(FS&(1))
- 4240 FILES CHR$(DRIVE)+":",N,DAT$
- 4250 GOSUB *DATA_CNV
- 4260 GOSUB *FILE_PUT
- 4270 GOSUB *VER_W
- 4280 RETURN
- 4290 '
- 4300 *FILE_PUT
- 4310 FOR I=0 TO 9
- 4320 LINE(FX+4,FY+38+I*16)-STEP(113,13),PSET,%面,BF
- 4330 IF I+FBAN<FS&(1) THEN
- 4340 SYMBOL(FX+11,FY+39+I*16),DAT$(I+FBAN),3/4,3/4,%影
- 4350 SYMBOL(FX+10,FY+39+I*16),DAT$(I+FBAN),3/4,3/4,%光
- 4360 ENDIF
- 4370 NEXT
- 4380 IF FS&(1)=0 THEN SYMBOL(FX+10,FY+39),"< File Not Found >",3/4,3/4,%光
- 4390 RETURN
- 4400 '
- 4410 *VER_W
- 4420 IF FS&(1)<10 THEN FLG=10 ELSE FLG=FS&(1)
- 4430 Y1=133*FBAN/FLG : Y2=133*(FBAN+10)/FLG
- 4440 LINE(FX+127,FY+49)-STEP(12,135),PSET,%面,BF
- 4450 XX=128:YY=50+Y1:SX=10:SY=Y2-Y1:GOSUB *LINE_BOX
- 4460 RETURN
- 4470 '
- 4480 *DATA_CNV
- 4490 FOR I=1 TO FS&(1)
- 4500 IF MID$(DAT$(I),20,3)="DIR" THEN GOSUB *D_CNV ELSE GOSUB *F_CNV
- 4510 NEXT
- 4520 RETURN
- 4530 '
- 4540 *D_CNV
- 4550 DAT$(I-1)=MID$(DAT$(I),1,8)+" << DIR >>"
- 4560 RETURN
- 4570 '
- 4580 *F_CNV
- 4590 CNT=0
- 4600 DAT$(I-1)=MID$(DAT$(I),1,8)+"."+MID$(DAT$(I),10,3)
- 4610 SIZ&=VAL(MID$(DAT$(I),13,14))
- 4620 FOR J=3 TO 1 STEP -1
- 4630 IF 1024^J<SIZ& THEN SIZ&=SIZ&\1024:CNT=CNT+1
- 4640 NEXT
- 4650 IF SIZ&>999 THEN CNT=CNT+1:SIZ&=1
- 4660 DAT$(I-1)=DAT$(I-1)+SPACE$(4-LEN(STR$(SIZ&)))+STR$(SIZ&)+TN$(CNT)
- 4670 RETURN
- 4680 '
- 4690 *SCREEN_MOVE
- 4700 OUT &H440,17
- 4710 IF XX+SX>MAX THEN OUT &H442,(XX+SX-640)\8
- 4720 IF XX<MIX THEN OUT &H442,XX\8
- 4730 IF YY+SY>MAY THEN OUT &H443,(YY+SY-480)\2
- 4740 IF YY<MIY THEN OUT &H443,YY\2
- 4750 OUT &H440,21
- 4760 IF XX+SX>MAX THEN OUT &H442,(XX+SX-640)\8:MAX=XX+SX :MIX=XX+SX-640
- 4770 IF XX<MIX THEN OUT &H442,XX\8 :MIX=XX :MAX=MIX+640
- 4780 IF YY+SY>MAY THEN OUT &H443,(YY+SY-480)\2:MAY=YY+SY :MIY=YY+SY-480
- 4790 IF YY<MIY THEN OUT &H443,YY\2 :MIY=YY :MAY=MIY+480
- 4800 RETURN
- 4810 '
- 4820 *SET_PAL
- 4830 PALETTE 光,[16*14,16*14,16*14]
- 4840 PALETTE 影,[16* 3,16* 3,16* 3]
- 4850 PALETTE 面,[16* 8,16* 7,16*12]
- 4860 RETURN
- 4870 '
- 4880 *FILESEL_W
- 4890 RESTORE *座標デ-タ
- 4900 FOR I=1 TO 12
- 4910 READ XX,YY,SX,SY : GOSUB *LINE_BOX
- 4920 NEXT
- 4930 LINE(FX+76,FY+19)-STEP(50,14),XOR,,B
- 4940 FOR I=0 TO 16*10-1 STEP 16
- 4950 XX= 3 : YY=37+I: SX=120 : SY= 15 : GOSUB *LINE_BOX 'ファイル名
- 4960 NEXT
- 4970 LINE(FX+126,FY+48)-STEP(14,137),XOR,,B
- 4980 LINE(FX+3,FY+198)-STEP(75,15),XOR,,B
- 4990 SYMBOL(FX+ 2,FY+ 1),"FileSelecter by K.T",3/4,3/4,%光,,,1
- 5000 SYMBOL(FX+45,FY+21)," Free KB",3/4,3/4,%光',,,1
- 5010 PUT@(FX+ 5,FY+ 21)-(FX+ 10,FY+ 31),OBJ1
- 5020 PUT@(FX+ 35,FY+ 21)-(FX+ 40,FY+ 31),OBJ2
- 5030 PUT@(FX+128,FY+ 39)-(FX+138,FY+ 44),OBJ3
- 5040 PUT@(FX+128,FY+189)-(FX+138,FY+194),OBJ4
- 5050 SYMBOL(FX+85,FY+201),"RUN",3/4,3/4,%光,,,1
- 5060 SYMBOL(FX+116,FY+201),"CAN",3/4,3/4,%光,,,1
- 5070 R_SW=1:GOSUB *DRIVE_W
- 5080 RETURN
- 5090 '
- 5100 *TXT_MAKE
- 5110 LINE(TX, TY )-(TX+6*80+15,TY+12*35+18),PSET,%影,BF
- 5120 LINE(TX+1 ,TY+1 )-(TX+75 ,TY+14),PSET,%影,BF
- 5130 LINE(TX+76 ,TY+1 )-(TX+6*80+14,TY+14),PSET,%面,BF
- 5140 LINE(TX+1 ,TY+16)-(TX+6*80+1 ,TY+12*35+17),PSET,%光,BF
- 5150 SYMBOL(TX+2,TY+2),FILE_NAME$,3/4,3/4,%光
- 5160 '
- 5170 K=35:GOSUB *TXT_BAR
- 5180 IF MAX_I>35 THEN K=35 ELSE K=MAX_I
- 5190 FOR I=0 TO K-1
- 5200 SYMBOL(TX+2,I*12+TY+17),TXT$(I),3/4,3/4,%影
- 5210 NEXT
- 5220 RETURN
- 5230 '
- 5240 *TXT_BAR
- 5250 IF MAX_I<35 THEN I=35 ELSE I=MAX_I
- 5260 Y1=12*35*TBAN/I : Y2=12*35*(TBAN+K)/I
- 5270 LINE(TX+6*80+3,TY+16)-(TX+6*80+14,TY+12*35+17),PSET,%影,BF
- 5280 '
- 5290 LINE(TX+6*80+4,TY+17+Y1)-(TX+6*80+14,TY+Y2+17),PSET,%面,BF
- 5300 LINE(TX+6*80+4,TY+17+Y1)-(TX+6*80+14,TY+Y2+17),PSET,%影,B
- 5310 LINE(TX+6*80+3,TY+16+Y1)-(TX+6*80+13,TY+Y2+16),PSET,%光,BF
- 5320 RETURN
- 5330 '
- 5340 *ERROR
- 5350 IF ERL=1650 OR ERL=1730 THEN RESUME NEXT 'フルカラ-は非対応
- 5360 IF ERL=2010 THEN RESUME 2060 'DLL領域が足りない
- 5370 IF ERL=2130 THEN RESUME 2160 'DLL領域が足りない
- 5380 IF ERL=2230 THEN MAX_I=I:I=9999:RESUME NEXT
- 5390 IF ERL=1800 THEN RESUME 1830 'メモリ不足
- 5400 IF ERL=1810 THEN RESUME NEXT '音源ファイルが見つからなかった
- 5410 IF ERL=4080 AND ERR=60 THEN DRIVE=DRIVE+SW:RESUME *DRIVE_W
- 5420 IF ERL=4110 AND ERR=72 THEN BEEP:FS&(1)=0:FR$="Error":RESUME NEXT
- 5430 IF ERL=4240 THEN RESUME 4260
- 5440 SCREEN 0:COLOR 2:PRINT "エラーが発生しちゃった",ERR;"番";ERL;"行"
- 5450 '
- 5460 DATA 8C04,BC1C,7C7C,BC7C,8C1C,8004,4080,70E0,7CF8,70F8,40E0,8080
- 5470 DATA 8004,800E,801F, 3F,407F,60FF,60FF,407F, 3F,801F,800E,8004
- 5480 DATA " B","KB","MB","GB"
- 5490 '
- 5500 *座標デ-タ
- 5510 DATA 0, 0,142, 14, 0, 15,142,200, 4, 17, 8, 18, 14, 18, 17, 16
- 5520 DATA 33, 17, 8, 18, 76, 19, 50, 14,126, 37, 14, 9,126, 48, 14,137
- 5530 DATA 126,187, 14, 9, 3,198, 75, 15, 80,200, 29, 13,111,200, 29, 13
- 5540 '
-